.. :validated: 3.2.0

.. _func_monitoring:

Расширение функционала мониторинга
----------------------------------

Мониторинг событий ПК <<ALD Pro>> реализован с использованием решения **Zabbix**. ПК <<ALD Pro>> позволяет подключиться к web-интерфейсу **Zabbix**.

В версии 3.2.0 создание шаблонов **Zabbix** недоступно. Это связано с особенностями работы механизма постановки хостов на мониторинг — созданные вручную шаблоны будут автоматически удалены.

Однако в **Zabbix** доступны следующие функции:

1. Тонкая настройка через макросы. Большинство стандартных шаблонов **Zabbix** используют пользовательские макросы (например, ``{}{$CPU.UTIL.CRIT}{}``, ``{}{$DISK.PAYLOAD.MAX}{}``). Значения пользовательских макросов можно переопределять на уровне конкретного узла сети (Host). Это позволяет менять пороги срабатывания алертов (например, сделать ``{$MEMORY.UTIL.MAX}`` 85% вместо 90%) индивидуально для сервера, не меняя сам шаблон.

2. Создание элементов напрямую на узле сети. При необходимости можно отслеживать уникальные параметры для конкретного узла сети (Host), создавая Items (элементы данных) и Triggers (триггеры) непосредственно в настройках конкретного Host.

3. Визуализация и отчетность:

   - Дашборды (Dashboards): создание персонализированных панелей мониторинга, комбинирующих данные с разных хостов;

   - Графики (Ad-hoc graphs): создание графиков, которые позволяют быстро сравнивать данные по нескольким элементам (метрикам) с разных хостов без необходимости создавать постоянную панель мониторинга.

Для доступа к web-интерфейсу **Zabbix** необходимо ввести в браузере адрес сервера мониторинга ПК **ALD Pro** в формате:

   **Пример:** ``https://mon.aldpro.astralinux.ru/zabbix``

Далее в открывшемся окне авторизации необходимо ввести логин и пароль системной учетной записи администрирования **Zabbix**.

Для доступа к веб-интерфейсу **Zabbix** под системной учетной записью необходимы учетные данные, которые формируются на сервере мониторинга. Для их получения ввести команду:

.. code-block::

   aldpro-salt-call pillar.get aldpro_deploy_data:config:monitoring_credentials:monitoring_dc01

где:

- dc01 короткое имя КД.

Для получения пароля системной учетной записи ``admin`` для доступа к веб-интерфейсу **Grafana** необходимо выполнить на сервере мониторинга:

.. code-block::

   aldpro-salt-call pillar.get aldpro_deploy_data:passwords:grafana:password

Далее необходимо преобразовать пароль:

.. code-block::

   aldpro-salt-call aldpro_subsystems.password_decrypt password_enc='<PASSWORD>' private_key_file=/etc/ssl/certs/zabbix_vault.key

После входа рекомендуется создать отдельную учетную запись для администрирования, а для системной учетной записи сменить пароль.

Реализованный функционал мониторинга /var/log
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

При развертывании сервера мониторинга в **ALD Pro** автоматически настраивается мониторинг занятого места в разделе ``/var/log``.

Для шаблона системных показателей **Zabbix** добавлен **item** (элемент данных) для сбора метрики.

Для **item** добавлен **trigger** (триггер) для уведомления пользователей.

В соответствующий шаблон **Grafana** добавлена панель для визуализации собранных метрик.

Принцип работы
~~~~~~~~~~~~~~

1. **Zabbix-item** (с именем ``Процент занятого места /var/log``) собирает метрику с хоста.

2. **Метрика** показывает процент занятого пространства на файловой системе, где находится каталог ``/var/log``.

3. Если значение метрики превышает порог (по умолчанию 50%), в журнале событий мониторинга появляется уведомление ``Размер директории /var/log превышает допустимое значение``

.. figure:: images/image1.png
   :name: рис1

   Журнал событий мониторинга
   
Настройка порога уведомлений
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Пороговое значение, при превышении которого генерируется уведомление, можно изменить через веб-интерфейс **Zabbix**.

Необходимо выполнить вход веб-интерфейс **Zabbix**, перейти в **Data collection** -- **Templates**. Найти шаблоны **ALD Pro**, перейти на последнюю страницу списка или применить фильтр по поиску ``ALDPRO``.

Необходимый триггер находится в шаблоне **Системные показатели**.

В строчке шаблона необходимо нажать на **Triggers** и выбрать **Размер директории /var/log на {HOST.NAME} превышает допустимое значение**.

.. figure:: images/image2.png
   :name: рис2

   Шаблон системных показателей

В блоке **Expression** вставить в формулу значение (значение высчитывается в процентах), при превышении которого будет появляться уведомление в портале управления. 

По умолчанию установлено значение ``50``.

.. figure:: images/image3.png
   :name: рис3

   Вкладка Trigger